home *** CD-ROM | disk | FTP | other *** search
/ Micromanía: 150 Juegos 2010 / 150Juegos_16.iso / Shareware / Shape Smash / shape-smash.swf / scripts / Box2D / Collision / _xk47.as < prev    next >
Encoding:
Text File  |  2010-05-14  |  25.5 KB  |  701 lines

  1. package Box2D.Collision
  2. {
  3.    import Box2D.Collision.Shapes._bs125;
  4.    import Box2D.Collision.Shapes._vy532;
  5.    import Box2D.Common.Math._ni781;
  6.    import Box2D.Common.Math._oh327;
  7.    import Box2D.Common.Math._ui293;
  8.    import Box2D.Common.Math.b2Vec2;
  9.    import Box2D.Common._kc225;
  10.    
  11.    public class _xk47
  12.    {
  13.       public static const b2_nullFeature:uint = 255;
  14.       
  15.       private static var b2CollidePolyTempVec:b2Vec2 = new b2Vec2();
  16.       
  17.       public function _xk47()
  18.       {
  19.          super();
  20.       }
  21.       
  22.       public static function _wh610(param1:_kn203, param2:_bs125, param3:_ni781, param4:_bs125, param5:_ni781) : void
  23.       {
  24.          var _loc6_:_or432 = null;
  25.          var _loc7_:int = 0;
  26.          var _loc8_:Array = null;
  27.          var _loc9_:Number = NaN;
  28.          var _loc10_:int = 0;
  29.          var _loc11_:Array = null;
  30.          var _loc12_:Number = NaN;
  31.          var _loc13_:_bs125 = null;
  32.          var _loc14_:_bs125 = null;
  33.          var _loc15_:_ni781 = null;
  34.          var _loc16_:_ni781 = null;
  35.          var _loc17_:int = 0;
  36.          var _loc18_:uint = 0;
  37.          var _loc19_:Number = NaN;
  38.          var _loc20_:Number = NaN;
  39.          var _loc21_:Array = null;
  40.          var _loc22_:int = 0;
  41.          var _loc23_:Array = null;
  42.          var _loc24_:b2Vec2 = null;
  43.          var _loc25_:b2Vec2 = null;
  44.          var _loc26_:b2Vec2 = null;
  45.          var _loc27_:b2Vec2 = null;
  46.          var _loc28_:b2Vec2 = null;
  47.          var _loc29_:Number = NaN;
  48.          var _loc30_:Number = NaN;
  49.          var _loc31_:Number = NaN;
  50.          var _loc32_:Array = null;
  51.          var _loc33_:Array = null;
  52.          var _loc34_:int = 0;
  53.          var _loc35_:int = 0;
  54.          var _loc36_:int = 0;
  55.          var _loc37_:b2Vec2 = null;
  56.          var _loc38_:Number = NaN;
  57.          var _loc39_:_cc280 = null;
  58.          param1.pointCount = 0;
  59.          _loc7_ = 0;
  60.          _loc8_ = [_loc7_];
  61.          _loc9_ = _mj117(_loc8_,param2,param3,param4,param5);
  62.          _loc7_ = int(_loc8_[0]);
  63.          if(_loc9_ > 0)
  64.          {
  65.             return;
  66.          }
  67.          _loc10_ = 0;
  68.          _loc11_ = [_loc10_];
  69.          _loc12_ = _mj117(_loc11_,param4,param5,param2,param3);
  70.          _loc10_ = int(_loc11_[0]);
  71.          if(_loc12_ > 0)
  72.          {
  73.             return;
  74.          }
  75.          _loc15_ = new _ni781();
  76.          _loc16_ = new _ni781();
  77.          _loc19_ = 0.98;
  78.          _loc20_ = 0.001;
  79.          if(_loc12_ > _loc19_ * _loc9_ + _loc20_)
  80.          {
  81.             _loc13_ = param4;
  82.             _loc14_ = param2;
  83.             _loc15_._br741(param5);
  84.             _loc16_._br741(param3);
  85.             _loc17_ = _loc10_;
  86.             _loc18_ = 1;
  87.          }
  88.          else
  89.          {
  90.             _loc13_ = param2;
  91.             _loc14_ = param4;
  92.             _loc15_._br741(param3);
  93.             _loc16_._br741(param5);
  94.             _loc17_ = _loc7_;
  95.             _loc18_ = 0;
  96.          }
  97.          _loc21_ = [new _or432(),new _or432()];
  98.          _gk290(_loc21_,_loc13_,_loc15_,_loc17_,_loc14_,_loc16_);
  99.          _loc22_ = _loc13_.m_vertexCount;
  100.          _loc23_ = _loc13_.m_vertices;
  101.          _loc24_ = _loc23_[_loc17_];
  102.          _loc25_ = _loc24_._ib196();
  103.          if(_loc17_ + 1 < _loc22_)
  104.          {
  105.             _loc24_ = _loc23_[int(_loc17_ + 1)];
  106.             _loc37_ = _loc24_._ib196();
  107.          }
  108.          else
  109.          {
  110.             _loc24_ = _loc23_[0];
  111.             _loc37_ = _loc24_._ib196();
  112.          }
  113.          _loc26_ = _ui293._uq31(_loc37_,_loc25_);
  114.          _loc27_ = _ui293._cq423(_loc15_.R,_ui293._uq31(_loc37_,_loc25_));
  115.          _loc27_._qi627();
  116.          _loc28_ = _ui293._wy406(_loc27_,1);
  117.          _loc25_ = _ui293._db724(_loc15_,_loc25_);
  118.          _loc37_ = _ui293._db724(_loc15_,_loc37_);
  119.          _loc29_ = _ui293._qr29(_loc28_,_loc25_);
  120.          _loc30_ = -_ui293._qr29(_loc27_,_loc25_);
  121.          _loc31_ = _ui293._qr29(_loc27_,_loc37_);
  122.          _loc32_ = [new _or432(),new _or432()];
  123.          _loc33_ = [new _or432(),new _or432()];
  124.          _loc34_ = _tp109(_loc32_,_loc21_,_loc27_._kw283(),_loc30_);
  125.          if(_loc34_ < 2)
  126.          {
  127.             return;
  128.          }
  129.          _loc34_ = _tp109(_loc33_,_loc32_,_loc27_,_loc31_);
  130.          if(_loc34_ < 2)
  131.          {
  132.             return;
  133.          }
  134.          param1.normal = !!_loc18_ ? _loc28_._kw283() : _loc28_._ib196();
  135.          _loc35_ = 0;
  136.          _loc36_ = 0;
  137.          while(_loc36_ < _kc225.b2_maxManifoldPoints)
  138.          {
  139.             _loc6_ = _loc33_[_loc36_];
  140.             _loc38_ = _ui293._qr29(_loc28_,_loc6_.v) - _loc29_;
  141.             if(_loc38_ <= 0)
  142.             {
  143.                _loc39_ = param1.points[_loc35_];
  144.                _loc39_.separation = _loc38_;
  145.                _loc39_.localPoint1 = _ui293._mx194(param3,_loc6_.v);
  146.                _loc39_.localPoint2 = _ui293._mx194(param5,_loc6_.v);
  147.                _loc39_.id._aw644 = _loc6_.id._key;
  148.                _loc39_.id.features._eo591 = _loc18_;
  149.                _loc35_++;
  150.             }
  151.             _loc36_++;
  152.          }
  153.          param1.pointCount = _loc35_;
  154.       }
  155.       
  156.       public static function _dp665(param1:_pv475, param2:_pv475) : Boolean
  157.       {
  158.          var _loc3_:b2Vec2 = null;
  159.          var _loc4_:b2Vec2 = null;
  160.          var _loc5_:Number = NaN;
  161.          var _loc6_:Number = NaN;
  162.          var _loc7_:Number = NaN;
  163.          var _loc8_:Number = NaN;
  164.          _loc3_ = param2.lowerBound;
  165.          _loc4_ = param1.upperBound;
  166.          _loc5_ = _loc3_.x - _loc4_.x;
  167.          _loc6_ = _loc3_.y - _loc4_.y;
  168.          _loc3_ = param1.lowerBound;
  169.          _loc4_ = param2.upperBound;
  170.          _loc7_ = _loc3_.x - _loc4_.x;
  171.          _loc8_ = _loc3_.y - _loc4_.y;
  172.          if(_loc5_ > 0 || _loc6_ > 0)
  173.          {
  174.             return false;
  175.          }
  176.          if(_loc7_ > 0 || _loc8_ > 0)
  177.          {
  178.             return false;
  179.          }
  180.          return true;
  181.       }
  182.       
  183.       public static function _gk290(param1:Array, param2:_bs125, param3:_ni781, param4:int, param5:_bs125, param6:_ni781) : void
  184.       {
  185.          var _loc7_:int = 0;
  186.          var _loc8_:Array = null;
  187.          var _loc9_:int = 0;
  188.          var _loc10_:Array = null;
  189.          var _loc11_:Array = null;
  190.          var _loc12_:_oh327 = null;
  191.          var _loc13_:b2Vec2 = null;
  192.          var _loc14_:Number = NaN;
  193.          var _loc15_:Number = NaN;
  194.          var _loc16_:Number = NaN;
  195.          var _loc17_:int = 0;
  196.          var _loc18_:Number = NaN;
  197.          var _loc19_:int = 0;
  198.          var _loc20_:_or432 = null;
  199.          var _loc21_:int = 0;
  200.          var _loc22_:int = 0;
  201.          var _loc23_:Number = NaN;
  202.          _loc7_ = param2.m_vertexCount;
  203.          _loc8_ = param2.m_normals;
  204.          _loc9_ = param5.m_vertexCount;
  205.          _loc10_ = param5.m_vertices;
  206.          _loc11_ = param5.m_normals;
  207.          _loc12_ = param3.R;
  208.          _loc13_ = _loc8_[param4];
  209.          _loc14_ = _loc12_.col1.x * _loc13_.x + _loc12_.col2.x * _loc13_.y;
  210.          _loc15_ = _loc12_.col1.y * _loc13_.x + _loc12_.col2.y * _loc13_.y;
  211.          _loc12_ = param6.R;
  212.          _loc16_ = _loc12_.col1.x * _loc14_ + _loc12_.col1.y * _loc15_;
  213.          _loc15_ = _loc12_.col2.x * _loc14_ + _loc12_.col2.y * _loc15_;
  214.          _loc14_ = _loc16_;
  215.          _loc17_ = 0;
  216.          _loc18_ = Number.MAX_VALUE;
  217.          _loc19_ = 0;
  218.          while(_loc19_ < _loc9_)
  219.          {
  220.             _loc13_ = _loc11_[_loc19_];
  221.             _loc23_ = _loc14_ * _loc13_.x + _loc15_ * _loc13_.y;
  222.             if(_loc23_ < _loc18_)
  223.             {
  224.                _loc18_ = _loc23_;
  225.                _loc17_ = _loc19_;
  226.             }
  227.             _loc19_++;
  228.          }
  229.          _loc21_ = _loc17_;
  230.          _loc22_ = _loc21_ + 1 < _loc9_ ? _loc21_ + 1 : 0;
  231.          _loc20_ = param1[0];
  232.          _loc13_ = _loc10_[_loc21_];
  233.          _loc12_ = param6.R;
  234.          _loc20_.v.x = param6.position.x + (_loc12_.col1.x * _loc13_.x + _loc12_.col2.x * _loc13_.y);
  235.          _loc20_.v.y = param6.position.y + (_loc12_.col1.y * _loc13_.x + _loc12_.col2.y * _loc13_.y);
  236.          _loc20_.id.features._vt399 = param4;
  237.          _loc20_.id.features._ia374 = _loc21_;
  238.          _loc20_.id.features._ko430 = 0;
  239.          _loc20_ = param1[1];
  240.          _loc13_ = _loc10_[_loc22_];
  241.          _loc12_ = param6.R;
  242.          _loc20_.v.x = param6.position.x + (_loc12_.col1.x * _loc13_.x + _loc12_.col2.x * _loc13_.y);
  243.          _loc20_.v.y = param6.position.y + (_loc12_.col1.y * _loc13_.x + _loc12_.col2.y * _loc13_.y);
  244.          _loc20_.id.features._vt399 = param4;
  245.          _loc20_.id.features._ia374 = _loc22_;
  246.          _loc20_.id.features._ko430 = 1;
  247.       }
  248.       
  249.       public static function _nr401(param1:_kn203, param2:_bs125, param3:_ni781, param4:_vy532, param5:_ni781) : void
  250.       {
  251.          var _loc6_:_cc280 = null;
  252.          var _loc7_:Number = NaN;
  253.          var _loc8_:Number = NaN;
  254.          var _loc9_:Number = NaN;
  255.          var _loc10_:Number = NaN;
  256.          var _loc11_:b2Vec2 = null;
  257.          var _loc12_:_oh327 = null;
  258.          var _loc13_:Number = NaN;
  259.          var _loc14_:Number = NaN;
  260.          var _loc15_:Number = NaN;
  261.          var _loc16_:Number = NaN;
  262.          var _loc17_:Number = NaN;
  263.          var _loc18_:int = 0;
  264.          var _loc19_:Number = NaN;
  265.          var _loc20_:Number = NaN;
  266.          var _loc21_:int = 0;
  267.          var _loc22_:Array = null;
  268.          var _loc23_:Array = null;
  269.          var _loc24_:int = 0;
  270.          var _loc25_:int = 0;
  271.          var _loc26_:int = 0;
  272.          var _loc27_:b2Vec2 = null;
  273.          var _loc28_:Number = NaN;
  274.          var _loc29_:Number = NaN;
  275.          var _loc30_:Number = NaN;
  276.          var _loc31_:Number = NaN;
  277.          var _loc32_:Number = NaN;
  278.          var _loc33_:Number = NaN;
  279.          var _loc34_:Number = NaN;
  280.          param1.pointCount = 0;
  281.          _loc12_ = param5.R;
  282.          _loc11_ = param4.m_localPosition;
  283.          _loc13_ = param5.position.x + (_loc12_.col1.x * _loc11_.x + _loc12_.col2.x * _loc11_.y);
  284.          _loc14_ = param5.position.y + (_loc12_.col1.y * _loc11_.x + _loc12_.col2.y * _loc11_.y);
  285.          _loc7_ = _loc13_ - param3.position.x;
  286.          _loc8_ = _loc14_ - param3.position.y;
  287.          _loc12_ = param3.R;
  288.          _loc15_ = _loc7_ * _loc12_.col1.x + _loc8_ * _loc12_.col1.y;
  289.          _loc16_ = _loc7_ * _loc12_.col2.x + _loc8_ * _loc12_.col2.y;
  290.          _loc18_ = 0;
  291.          _loc19_ = -Number.MAX_VALUE;
  292.          _loc20_ = param4.m_radius;
  293.          _loc21_ = param2.m_vertexCount;
  294.          _loc22_ = param2.m_vertices;
  295.          _loc23_ = param2.m_normals;
  296.          _loc24_ = 0;
  297.          while(_loc24_ < _loc21_)
  298.          {
  299.             _loc11_ = _loc22_[_loc24_];
  300.             _loc7_ = _loc15_ - _loc11_.x;
  301.             _loc8_ = _loc16_ - _loc11_.y;
  302.             _loc11_ = _loc23_[_loc24_];
  303.             _loc34_ = _loc11_.x * _loc7_ + _loc11_.y * _loc8_;
  304.             if(_loc34_ > _loc20_)
  305.             {
  306.                return;
  307.             }
  308.             if(_loc34_ > _loc19_)
  309.             {
  310.                _loc19_ = _loc34_;
  311.                _loc18_ = _loc24_;
  312.             }
  313.             _loc24_++;
  314.          }
  315.          if(_loc19_ < Number.MIN_VALUE)
  316.          {
  317.             param1.pointCount = 1;
  318.             _loc11_ = _loc23_[_loc18_];
  319.             _loc12_ = param3.R;
  320.             param1.normal.x = _loc12_.col1.x * _loc11_.x + _loc12_.col2.x * _loc11_.y;
  321.             param1.normal.y = _loc12_.col1.y * _loc11_.x + _loc12_.col2.y * _loc11_.y;
  322.             _loc6_ = param1.points[0];
  323.             _loc6_.id.features._ia374 = _loc18_;
  324.             _loc6_.id.features._ko430 = b2_nullFeature;
  325.             _loc6_.id.features._vt399 = 0;
  326.             _loc6_.id.features._eo591 = 0;
  327.             _loc9_ = _loc13_ - _loc20_ * param1.normal.x;
  328.             _loc10_ = _loc14_ - _loc20_ * param1.normal.y;
  329.             _loc7_ = _loc9_ - param3.position.x;
  330.             _loc8_ = _loc10_ - param3.position.y;
  331.             _loc12_ = param3.R;
  332.             _loc6_.localPoint1.x = _loc7_ * _loc12_.col1.x + _loc8_ * _loc12_.col1.y;
  333.             _loc6_.localPoint1.y = _loc7_ * _loc12_.col2.x + _loc8_ * _loc12_.col2.y;
  334.             _loc7_ = _loc9_ - param5.position.x;
  335.             _loc8_ = _loc10_ - param5.position.y;
  336.             _loc12_ = param5.R;
  337.             _loc6_.localPoint2.x = _loc7_ * _loc12_.col1.x + _loc8_ * _loc12_.col1.y;
  338.             _loc6_.localPoint2.y = _loc7_ * _loc12_.col2.x + _loc8_ * _loc12_.col2.y;
  339.             _loc6_.separation = _loc19_ - _loc20_;
  340.             return;
  341.          }
  342.          _loc25_ = _loc18_;
  343.          _loc26_ = _loc25_ + 1 < _loc21_ ? _loc25_ + 1 : 0;
  344.          _loc11_ = _loc22_[_loc25_];
  345.          _loc27_ = _loc22_[_loc26_];
  346.          _loc28_ = _loc27_.x - _loc11_.x;
  347.          _loc29_ = _loc27_.y - _loc11_.y;
  348.          _loc30_ = Math.sqrt(_loc28_ * _loc28_ + _loc29_ * _loc29_);
  349.          _loc28_ /= _loc30_;
  350.          _loc29_ /= _loc30_;
  351.          _loc7_ = _loc15_ - _loc11_.x;
  352.          _loc8_ = _loc16_ - _loc11_.y;
  353.          _loc31_ = _loc7_ * _loc28_ + _loc8_ * _loc29_;
  354.          _loc6_ = param1.points[0];
  355.          if(_loc31_ <= 0)
  356.          {
  357.             _loc32_ = _loc11_.x;
  358.             _loc33_ = _loc11_.y;
  359.             _loc6_.id.features._ia374 = b2_nullFeature;
  360.             _loc6_.id.features._ko430 = _loc25_;
  361.          }
  362.          else if(_loc31_ >= _loc30_)
  363.          {
  364.             _loc32_ = _loc27_.x;
  365.             _loc33_ = _loc27_.y;
  366.             _loc6_.id.features._ia374 = b2_nullFeature;
  367.             _loc6_.id.features._ko430 = _loc26_;
  368.          }
  369.          else
  370.          {
  371.             _loc32_ = _loc28_ * _loc31_ + _loc11_.x;
  372.             _loc33_ = _loc29_ * _loc31_ + _loc11_.y;
  373.             _loc6_.id.features._ia374 = _loc18_;
  374.             _loc6_.id.features._ko430 = b2_nullFeature;
  375.          }
  376.          _loc7_ = _loc15_ - _loc32_;
  377.          _loc8_ = _loc16_ - _loc33_;
  378.          _loc17_ = Math.sqrt(_loc7_ * _loc7_ + _loc8_ * _loc8_);
  379.          _loc7_ /= _loc17_;
  380.          _loc8_ /= _loc17_;
  381.          if(_loc17_ > _loc20_)
  382.          {
  383.             return;
  384.          }
  385.          param1.pointCount = 1;
  386.          _loc12_ = param3.R;
  387.          param1.normal.x = _loc12_.col1.x * _loc7_ + _loc12_.col2.x * _loc8_;
  388.          param1.normal.y = _loc12_.col1.y * _loc7_ + _loc12_.col2.y * _loc8_;
  389.          _loc9_ = _loc13_ - _loc20_ * param1.normal.x;
  390.          _loc10_ = _loc14_ - _loc20_ * param1.normal.y;
  391.          _loc7_ = _loc9_ - param3.position.x;
  392.          _loc8_ = _loc10_ - param3.position.y;
  393.          _loc12_ = param3.R;
  394.          _loc6_.localPoint1.x = _loc7_ * _loc12_.col1.x + _loc8_ * _loc12_.col1.y;
  395.          _loc6_.localPoint1.y = _loc7_ * _loc12_.col2.x + _loc8_ * _loc12_.col2.y;
  396.          _loc7_ = _loc9_ - param5.position.x;
  397.          _loc8_ = _loc10_ - param5.position.y;
  398.          _loc12_ = param5.R;
  399.          _loc6_.localPoint2.x = _loc7_ * _loc12_.col1.x + _loc8_ * _loc12_.col1.y;
  400.          _loc6_.localPoint2.y = _loc7_ * _loc12_.col2.x + _loc8_ * _loc12_.col2.y;
  401.          _loc6_.separation = _loc17_ - _loc20_;
  402.          _loc6_.id.features._vt399 = 0;
  403.          _loc6_.id.features._eo591 = 0;
  404.       }
  405.       
  406.       public static function _uw337(param1:_bs125, param2:_ni781, param3:int, param4:_bs125, param5:_ni781) : Number
  407.       {
  408.          var _loc6_:int = 0;
  409.          var _loc7_:Array = null;
  410.          var _loc8_:Array = null;
  411.          var _loc9_:int = 0;
  412.          var _loc10_:Array = null;
  413.          var _loc11_:_oh327 = null;
  414.          var _loc12_:b2Vec2 = null;
  415.          var _loc13_:Number = NaN;
  416.          var _loc14_:Number = NaN;
  417.          var _loc15_:Number = NaN;
  418.          var _loc16_:Number = NaN;
  419.          var _loc17_:int = 0;
  420.          var _loc18_:Number = NaN;
  421.          var _loc19_:int = 0;
  422.          var _loc20_:Number = NaN;
  423.          var _loc21_:Number = NaN;
  424.          var _loc22_:Number = NaN;
  425.          var _loc23_:Number = NaN;
  426.          var _loc24_:Number = NaN;
  427.          var _loc25_:Number = NaN;
  428.          _loc6_ = param1.m_vertexCount;
  429.          _loc7_ = param1.m_vertices;
  430.          _loc8_ = param1.m_normals;
  431.          _loc9_ = param4.m_vertexCount;
  432.          _loc10_ = param4.m_vertices;
  433.          _loc11_ = param2.R;
  434.          _loc12_ = _loc8_[param3];
  435.          _loc13_ = _loc11_.col1.x * _loc12_.x + _loc11_.col2.x * _loc12_.y;
  436.          _loc14_ = _loc11_.col1.y * _loc12_.x + _loc11_.col2.y * _loc12_.y;
  437.          _loc11_ = param5.R;
  438.          _loc15_ = _loc11_.col1.x * _loc13_ + _loc11_.col1.y * _loc14_;
  439.          _loc16_ = _loc11_.col2.x * _loc13_ + _loc11_.col2.y * _loc14_;
  440.          _loc17_ = 0;
  441.          _loc18_ = Number.MAX_VALUE;
  442.          _loc19_ = 0;
  443.          while(_loc19_ < _loc9_)
  444.          {
  445.             _loc12_ = _loc10_[_loc19_];
  446.             _loc25_ = _loc12_.x * _loc15_ + _loc12_.y * _loc16_;
  447.             if(_loc25_ < _loc18_)
  448.             {
  449.                _loc18_ = _loc25_;
  450.                _loc17_ = _loc19_;
  451.             }
  452.             _loc19_++;
  453.          }
  454.          _loc12_ = _loc7_[param3];
  455.          _loc11_ = param2.R;
  456.          _loc20_ = param2.position.x + (_loc11_.col1.x * _loc12_.x + _loc11_.col2.x * _loc12_.y);
  457.          _loc21_ = param2.position.y + (_loc11_.col1.y * _loc12_.x + _loc11_.col2.y * _loc12_.y);
  458.          _loc12_ = _loc10_[_loc17_];
  459.          _loc11_ = param5.R;
  460.          _loc22_ = param5.position.x + (_loc11_.col1.x * _loc12_.x + _loc11_.col2.x * _loc12_.y);
  461.          _loc23_ = param5.position.y + (_loc11_.col1.y * _loc12_.x + _loc11_.col2.y * _loc12_.y);
  462.          _loc22_ -= _loc20_;
  463.          _loc23_ -= _loc21_;
  464.          return _loc22_ * _loc13_ + _loc23_ * _loc14_;
  465.       }
  466.       
  467.       public static function _mj117(param1:Array, param2:_bs125, param3:_ni781, param4:_bs125, param5:_ni781) : Number
  468.       {
  469.          var _loc6_:int = 0;
  470.          var _loc7_:Array = null;
  471.          var _loc8_:b2Vec2 = null;
  472.          var _loc9_:_oh327 = null;
  473.          var _loc10_:Number = NaN;
  474.          var _loc11_:Number = NaN;
  475.          var _loc12_:Number = NaN;
  476.          var _loc13_:Number = NaN;
  477.          var _loc14_:int = 0;
  478.          var _loc15_:Number = NaN;
  479.          var _loc16_:int = 0;
  480.          var _loc17_:Number = NaN;
  481.          var _loc18_:int = 0;
  482.          var _loc19_:Number = NaN;
  483.          var _loc20_:int = 0;
  484.          var _loc21_:Number = NaN;
  485.          var _loc22_:int = 0;
  486.          var _loc23_:Number = NaN;
  487.          var _loc24_:int = 0;
  488.          var _loc25_:Number = NaN;
  489.          _loc6_ = param2.m_vertexCount;
  490.          _loc7_ = param2.m_normals;
  491.          _loc9_ = param5.R;
  492.          _loc8_ = param4.m_centroid;
  493.          _loc10_ = param5.position.x + (_loc9_.col1.x * _loc8_.x + _loc9_.col2.x * _loc8_.y);
  494.          _loc11_ = param5.position.y + (_loc9_.col1.y * _loc8_.x + _loc9_.col2.y * _loc8_.y);
  495.          _loc9_ = param3.R;
  496.          _loc8_ = param2.m_centroid;
  497.          _loc10_ -= param3.position.x + (_loc9_.col1.x * _loc8_.x + _loc9_.col2.x * _loc8_.y);
  498.          _loc11_ -= param3.position.y + (_loc9_.col1.y * _loc8_.x + _loc9_.col2.y * _loc8_.y);
  499.          _loc12_ = _loc10_ * param3.R.col1.x + _loc11_ * param3.R.col1.y;
  500.          _loc13_ = _loc10_ * param3.R.col2.x + _loc11_ * param3.R.col2.y;
  501.          _loc14_ = 0;
  502.          _loc15_ = -Number.MAX_VALUE;
  503.          _loc16_ = 0;
  504.          while(_loc16_ < _loc6_)
  505.          {
  506.             _loc8_ = _loc7_[_loc16_];
  507.             _loc25_ = _loc8_.x * _loc12_ + _loc8_.y * _loc13_;
  508.             if(_loc25_ > _loc15_)
  509.             {
  510.                _loc15_ = _loc25_;
  511.                _loc14_ = _loc16_;
  512.             }
  513.             _loc16_++;
  514.          }
  515.          _loc17_ = _uw337(param2,param3,_loc14_,param4,param5);
  516.          if(_loc17_ > 0)
  517.          {
  518.             return _loc17_;
  519.          }
  520.          _loc18_ = _loc14_ - 1 >= 0 ? _loc14_ - 1 : _loc6_ - 1;
  521.          _loc19_ = _uw337(param2,param3,_loc18_,param4,param5);
  522.          if(_loc19_ > 0)
  523.          {
  524.             return _loc19_;
  525.          }
  526.          _loc20_ = _loc14_ + 1 < _loc6_ ? _loc14_ + 1 : 0;
  527.          _loc21_ = _uw337(param2,param3,_loc20_,param4,param5);
  528.          if(_loc21_ > 0)
  529.          {
  530.             return _loc21_;
  531.          }
  532.          if(_loc19_ > _loc17_ && _loc19_ > _loc21_)
  533.          {
  534.             _loc24_ = -1;
  535.             _loc22_ = _loc18_;
  536.             _loc23_ = _loc19_;
  537.          }
  538.          else
  539.          {
  540.             if(_loc21_ <= _loc17_)
  541.             {
  542.                param1[0] = _loc14_;
  543.                return _loc17_;
  544.             }
  545.             _loc24_ = 1;
  546.             _loc22_ = _loc20_;
  547.             _loc23_ = _loc21_;
  548.          }
  549.          while(true)
  550.          {
  551.             if(_loc24_ == -1)
  552.             {
  553.                _loc14_ = _loc22_ - 1 >= 0 ? _loc22_ - 1 : _loc6_ - 1;
  554.             }
  555.             else
  556.             {
  557.                _loc14_ = _loc22_ + 1 < _loc6_ ? _loc22_ + 1 : 0;
  558.             }
  559.             _loc17_ = _uw337(param2,param3,_loc14_,param4,param5);
  560.             if(_loc17_ > 0)
  561.             {
  562.                break;
  563.             }
  564.             if(_loc17_ <= _loc23_)
  565.             {
  566.                param1[0] = _loc22_;
  567.                return _loc23_;
  568.             }
  569.             _loc22_ = _loc14_;
  570.             _loc23_ = _loc17_;
  571.          }
  572.          return _loc17_;
  573.       }
  574.       
  575.       public static function _vw826(param1:_kn203, param2:_vy532, param3:_ni781, param4:_vy532, param5:_ni781) : void
  576.       {
  577.          var _loc6_:_oh327 = null;
  578.          var _loc7_:b2Vec2 = null;
  579.          var _loc8_:Number = NaN;
  580.          var _loc9_:Number = NaN;
  581.          var _loc10_:Number = NaN;
  582.          var _loc11_:Number = NaN;
  583.          var _loc12_:Number = NaN;
  584.          var _loc13_:Number = NaN;
  585.          var _loc14_:Number = NaN;
  586.          var _loc15_:Number = NaN;
  587.          var _loc16_:Number = NaN;
  588.          var _loc17_:Number = NaN;
  589.          var _loc18_:Number = NaN;
  590.          var _loc19_:_cc280 = null;
  591.          var _loc20_:Number = NaN;
  592.          var _loc21_:Number = NaN;
  593.          var _loc22_:Number = NaN;
  594.          var _loc23_:Number = NaN;
  595.          var _loc24_:Number = NaN;
  596.          var _loc25_:Number = NaN;
  597.          param1.pointCount = 0;
  598.          _loc6_ = param3.R;
  599.          _loc7_ = param2.m_localPosition;
  600.          _loc8_ = param3.position.x + (_loc6_.col1.x * _loc7_.x + _loc6_.col2.x * _loc7_.y);
  601.          _loc9_ = param3.position.y + (_loc6_.col1.y * _loc7_.x + _loc6_.col2.y * _loc7_.y);
  602.          _loc6_ = param5.R;
  603.          _loc7_ = param4.m_localPosition;
  604.          _loc10_ = param5.position.x + (_loc6_.col1.x * _loc7_.x + _loc6_.col2.x * _loc7_.y);
  605.          _loc11_ = param5.position.y + (_loc6_.col1.y * _loc7_.x + _loc6_.col2.y * _loc7_.y);
  606.          _loc12_ = _loc10_ - _loc8_;
  607.          _loc13_ = _loc11_ - _loc9_;
  608.          _loc14_ = _loc12_ * _loc12_ + _loc13_ * _loc13_;
  609.          _loc15_ = param2.m_radius;
  610.          _loc16_ = param4.m_radius;
  611.          _loc17_ = _loc15_ + _loc16_;
  612.          if(_loc14_ > _loc17_ * _loc17_)
  613.          {
  614.             return;
  615.          }
  616.          if(_loc14_ < Number.MIN_VALUE)
  617.          {
  618.             _loc18_ = -_loc17_;
  619.             param1.normal._br741(0,1);
  620.          }
  621.          else
  622.          {
  623.             _loc24_ = Math.sqrt(_loc14_);
  624.             _loc18_ = _loc24_ - _loc17_;
  625.             _loc25_ = 1 / _loc24_;
  626.             param1.normal.x = _loc25_ * _loc12_;
  627.             param1.normal.y = _loc25_ * _loc13_;
  628.          }
  629.          param1.pointCount = 1;
  630.          _loc19_ = param1.points[0];
  631.          _loc19_.id._aw644 = 0;
  632.          _loc19_.separation = _loc18_;
  633.          _loc8_ += _loc15_ * param1.normal.x;
  634.          _loc9_ += _loc15_ * param1.normal.y;
  635.          _loc10_ -= _loc16_ * param1.normal.x;
  636.          _loc11_ -= _loc16_ * param1.normal.y;
  637.          _loc20_ = 0.5 * (_loc8_ + _loc10_);
  638.          _loc21_ = 0.5 * (_loc9_ + _loc11_);
  639.          _loc22_ = _loc20_ - param3.position.x;
  640.          _loc23_ = _loc21_ - param3.position.y;
  641.          _loc19_.localPoint1.x = _loc22_ * param3.R.col1.x + _loc23_ * param3.R.col1.y;
  642.          _loc19_.localPoint1.y = _loc22_ * param3.R.col2.x + _loc23_ * param3.R.col2.y;
  643.          _loc22_ = _loc20_ - param5.position.x;
  644.          _loc23_ = _loc21_ - param5.position.y;
  645.          _loc19_.localPoint2.x = _loc22_ * param5.R.col1.x + _loc23_ * param5.R.col1.y;
  646.          _loc19_.localPoint2.y = _loc22_ * param5.R.col2.x + _loc23_ * param5.R.col2.y;
  647.       }
  648.       
  649.       public static function _tp109(param1:Array, param2:Array, param3:b2Vec2, param4:Number) : int
  650.       {
  651.          var _loc5_:_or432 = null;
  652.          var _loc6_:int = 0;
  653.          var _loc7_:b2Vec2 = null;
  654.          var _loc8_:b2Vec2 = null;
  655.          var _loc9_:Number = NaN;
  656.          var _loc10_:Number = NaN;
  657.          var _loc11_:Number = NaN;
  658.          var _loc12_:b2Vec2 = null;
  659.          var _loc13_:_or432 = null;
  660.          _loc6_ = 0;
  661.          _loc5_ = param2[0];
  662.          _loc7_ = _loc5_.v;
  663.          _loc5_ = param2[1];
  664.          _loc8_ = _loc5_.v;
  665.          _loc9_ = _ui293._qr29(param3,_loc7_) - param4;
  666.          _loc10_ = _ui293._qr29(param3,_loc8_) - param4;
  667.          if(_loc9_ <= 0)
  668.          {
  669.             var _loc14_:*;
  670.             param1[_loc14_ = _loc6_++] = param2[0];
  671.          }
  672.          if(_loc10_ <= 0)
  673.          {
  674.             param1[_loc14_ = _loc6_++] = param2[1];
  675.          }
  676.          if(_loc9_ * _loc10_ < 0)
  677.          {
  678.             _loc11_ = _loc9_ / (_loc9_ - _loc10_);
  679.             _loc5_ = param1[_loc6_];
  680.             _loc12_ = _loc5_.v;
  681.             _loc12_.x = _loc7_.x + _loc11_ * (_loc8_.x - _loc7_.x);
  682.             _loc12_.y = _loc7_.y + _loc11_ * (_loc8_.y - _loc7_.y);
  683.             _loc5_ = param1[_loc6_];
  684.             if(_loc9_ > 0)
  685.             {
  686.                _loc13_ = param2[0];
  687.                _loc5_.id = _loc13_.id;
  688.             }
  689.             else
  690.             {
  691.                _loc13_ = param2[1];
  692.                _loc5_.id = _loc13_.id;
  693.             }
  694.             _loc6_++;
  695.          }
  696.          return _loc6_;
  697.       }
  698.    }
  699. }
  700.  
  701.